package com.zhongfl.crm.model.boss;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongfl.crm.enums.boss.OrderStatus;
import com.zhongfl.crm.enums.boss.WorkOrderTypeCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import tech.heptagram.core.common.model.PageVo;

import java.util.Date;
import java.util.List;

/**
 * 工单查询条件
 * Created by wangkun23 on 2018/5/03.
 */
@ToString
public class WorkOrderQuery extends PageVo {

    @Setter
    @Getter
    private String orderNo;//订单号

    @Setter
    @Getter
    private String workOrderTypeCode;//工单类型

    /**
     * 包括的工单类型
     */
    @Setter
    @Getter
    List<WorkOrderTypeCode> includeWorkOrderType;

    @Setter
    @Getter
    List<WorkOrderTypeCode> excludeWorkOrderType;

    @Setter
    @Getter
    List<OrderStatus> orderStatusList;

    /*发起部门ID*/
    @Setter
    @Getter
    private Integer createAmibaId;

    /*受理部门*/
    @Setter
    @Getter
    private Integer receiveAmibaId;

    /*工单状态*/
    @Setter
    @Getter
    private String status;

    /**
     * 包括的工单状态列表
     */
    @Setter
    @Getter
    private List<String> includeStatus;

    /**
     * 排除的工单状态列表
     */
    @Setter
    @Getter
    private List<String> excludeStatus;

    /*是否是返库工单，默认：N,是：Y*/
    @Setter
    @Getter
    private BackStatus back;

    /**
     * 开始时间
     */
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 结束时间
     */
    @Setter
    @Getter
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 巴长的阿米巴ids
     */
    @Setter
    @Getter
    private List<Integer>  amibaIds;

    /**
     * 当前用户的staffCode
     */
    @Setter
    @Getter
    private String  currentStaffCode;


    /**
     * 客户姓名
     */
    @Setter
    @Getter
    private String name;


    /**
     * 商务经理
     */
    @Setter
    @Getter
    private String businessManager;



    /**
     * 交付经理
     */
    @Setter
    @Getter
    private String deliverManager;


    /**
     * 受理人
     */
    @Setter
    @Getter
    private String claimStaffName;


    /**
     * 查询状态
     */
    /*@Setter
    @Getter
    private WorkOrderDutyRole flag;
*/

    /**
     * 分配人code
     */
    @Setter
    @Getter
    private String  assigneeStaffCode;

    /**
     * 发起人code
     */
    @Setter
    @Getter
    private String  createStaffCode;

    /**
     * 受理人code
     */
    @Setter
    @Getter
    private String  claimStaffCode;

    /**
     * 定时任务时间
     */
    @Setter
    @Getter
    private Date taskTime;

    /**
     * 挂账金额大于0,仅司服管理用
     */
    @Setter
    @Getter
    private String haveAmount;

    /**
     * 实收金额大于0金额
     */
    @Getter
    @Setter
    private Boolean haveActualAmount;
}
